package com.example.demo.ioc2;

/**
 * 传统创建一辆车的流程（改进版）
 */
public class NewCarExample2 {
    public static void main(String[] args) {
        Car car=new Car();
        car.init(50);
    }

    /**
     * 汽车对象
     */
    static class Car{
        public void init(int size){
            //依赖车身
            FrameWork frameWork=new FrameWork();
            frameWork.init(size);
        }
    }

    /**
     * 车身类
     */
    static class FrameWork{
        public void init(int size){
            //依赖地盘
            Bottom bottom=new Bottom();
            bottom.init(size);
        }
    }

    /**
     * 底盘类
     */
    static class Bottom{
        public void init(int size){
            //依赖轮胎
            Tire tire=new Tire();
            tire.init(size);
        }
    }

    /**
     * 轮胎类
     */
    static class Tire{
        public void init(int size){
            System.out.println("轮胎尺寸："+size);
        }
    }
}
